package com.example.exception;

import com.example.common.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice("com.example.controller")//表示全局统一异常处理的一个类，里面表明是捕获controller类里的异常
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)//捕获错误类型
    @ResponseBody // 返回json串
    public Result error(Exception e) {
        e.printStackTrace();//打印错误类型
        return Result.error();
    }

    @ExceptionHandler(CustomException.class)//捕获错误类型
    @ResponseBody // 返回json串
    public Result error(CustomException e) {
//        e.printStackTrace();//打印错误类型，这里不是错误，所以不需要
        return Result.error(e.getCode(),e.getMsg());
    }
}
